﻿using System.IO;

namespace Microsoft.WowAddonStudio.Lua.Loaders
{
    /// <summary>
    /// An abstract class that provides the streams to World of Warcraft TOC and contained files
    /// for <see cref="DocumentationLoader"/>s.
    /// </summary>
    public abstract class StreamProvider
    {
        /// <summary>
        /// Gets the <see cref="Stream"/> to a World of Warcraft TOC file.
        /// </summary>
        /// <returns>An instance of the <see cref="Stream"/> class.</returns>
        public abstract Stream GetTocStream();

        /// <summary>
        /// Gets a <see cref="Stream"/> to a file.
        /// </summary>
        /// <param name="filePath">The path of the file.</param>
        /// <returns>An instance of the <see cref="Stream"/> class.</returns>
        public abstract Stream GetFileStream(string filePath);
    }
}
